1. Field of the Invention
The present invention relates to a picture encoding apparatus, a picture decoding apparatus, a picture encoding method, a picture decoding method, a picture signal transmission method and a picture recording medium adapted for use in compression of moving picture data.
2. Description of the Related Art
In recording and transmitting digitized moving pictures, it is customary to encode the data for compression since the data amounts to an extremely great quantity. There are known some typical encoding methods inclusive of motion compensating predictive coding and DCT (discrete cosine transform) coding. A picture signal is first converted into a different form by the use of such coding technology, and subsequently a variable-length code such as the efficient Huffman code is allocated to the converted signal by utilizing the statistical attributes of the converted signal, whereby compression of the picture data is realized.
The encoded data is termed a bit stream. FIG. 1 shows the structure of a bit stream in the format according to MPEG (Moving Picture Experts Group) 1. The MPEG 1 signifies a moving picture encoding standard progressed by WG (Working Group) 11 of SC (Sub Committee) in JTC (Joint Technical Committee) of ISO (International Organization for Standardization) and IEC (International Electrotechnical Commission).
A bit stream of the MPEG 1 comprises a total of six layers which are a video sequence layer, a GOP (group of pictures) layer, a picture layer, a slice layer, a macro block layer and a block layer. The individual layers will now be described below briefly with reference to FIG. 2.
1. Block Layer
A block layer is composed of, e.g., mutually adjacent 8 lines×8 pixels of luminance or color difference. For example, DCT is executed block by block as a unit.
2. MB Layer
When the picture format is based on 4:2:0 component signals, an MB layer is composed of a total of 6 blocks which consist of 4 horizontally and vertically adjacent luminance blocks, and 2 color difference blocks (Cb and Cr) at the same position on the picture. These blocks are transmitted in the order of Y0, Y1, Y2, Y3, Cb and Cr. A decision is made per MB layer as a unit for selecting the predictive data to be used or determining whether it is necessary or not to send a prediction error.
3. Slice Layer
A slice layer is composed of one or more macro blocks successive in the picture scanning order. This layer is so contrived that an intra-frame motion vector and a DC component difference are reset at the beginning of the slice, and the first macro block has data indicative of the intra-frame position so as to execute a return upon occurrence of any error. For this reason, the length of the slice layer and the beginning position thereof are arbitrary and may be changed in accordance with the error state of the transmission channel.
4. Picture Layer
A picture layer of an individual frame is composed of at least one or more slice layers and is classified as I picture, P picture or B picture in accordance with the encoding method.
5. GOP Layer
A GOP layer is composed of one or more I pictures and none or a plurality of other pictures.
6. Video Sequence Layer
A video sequence layer is composed of one or more GOPs which are equal in both picture size and rate to each other.
The bit stream is so contrived as to enable picture reproduction from an intermediate point as well. More specifically, at the beginning of each of such video sequence layer, GOP layer, picture layer and slice layer, there is added a start code which signifies a start point. The start code is a unique one and generation of its bit pattern is inhibited except in the bit stream. Therefore it is rendered possible, by detecting the start code, to perform reproduction (random access) from an intermediate point in the bit stream or a return upon occurrence of any error in the transmission channel.
Header data is existent in succession to the start code to produce a video sequence header, a GOP header, a picture header and a slice header. The header data serves as control data required for decoding the encoded data in the individual layer and also for reproducing and displaying the picture. If there arises the requirement in the future that the header data needs to include more control data than that in the MPEG 1, it is possible to transmit a unique extension start code in the header and subsequently to transmit extension data which is composed of a multiple of 8 bits (extension byte). The syntax relative to the extension start code and the subsequent extension data is formed by taking into consideration the interchangeability with the MPEG 1.
Following such MPEG 1, preparation of MPEG 2 is currently in progress in an attempt to realize an improved encoding system for achieving a further enhanced picture quality. The bit-stream decoding control data newly added in the MPEG 2 is used for transmitting the extension start code in the header and then transmitting the extension data subsequently thereto.
With regard to the detailed bit stream syntax in the MPEG 1, there is a description in the Draft International Standard ISO/IEC DIS 11172.
In decoding the picture from the bit stream, header data is the most important out of the entire bit stream. Therefore, if the header data is lost due to any error or the like in the data transmission channel, it will bring about a fatal result in decoding the picture. The header data used in the MPEG 2 is greater in amount (number of bits) as compared with that in the MPEG 1. And in accordance with a quantitative increase of the header data in the bit stream, there arises a problem that the header data is more prone to be subjected to an error. In view of such point, it is preferred to minimize the amount of the header data to be transmitted.
Meanwhile in transmission of the header data, there may occur a case where some redundant data is transmitted. In transmitting a picture header for example, even when the current-picture encoding control data subsequent to the relevant extension start code is the same as the control data used for encoding the preceding picture already encoded, the entire header data are transmitted per picture header each time.